package com.xmy.erp.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 补费，转课，退费信息
 * </p>
 *
 * @author hpiggy
 * @since 2023-09-09
 */
@TableName("order_transfer")
@ApiModel(value = "OrderTransfer对象", description = "补费，转课，退费信息")
public class OrderTransfer implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty("订单id")
    private Long orderId;

    @ApiModelProperty("转出校区")
    private Long outSchoolId;

    @ApiModelProperty("转出课程id")
    private Long outGradeId;

    @ApiModelProperty("转入校区")
    private Long inSchoolId;

    @ApiModelProperty("转入课程id")
    private Long inGradeId;

    @ApiModelProperty("转出课时/退出课时")
    private Integer outHouse;

    @ApiModelProperty("转出金额")
    private BigDecimal outPrice;

    @ApiModelProperty("1全部转出，2部分转出")
    private Integer outType;

    @ApiModelProperty("手续费：实收金额+已失效课时费用-已用学费-累计退出金额-本次转出金额")
    private BigDecimal serviceChargePrice;

    private Long createdId;

    @ApiModelProperty("0")
    private Integer deleted;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;

    private LocalDateTime deletedAt;

    @ApiModelProperty("订单类型：1报名，2补费，3转课，4退费，5转校")
    private Integer orderType;

    @ApiModelProperty("1、学费退费2、余额退费3、教材杂费退费")
    private Integer businessType;

    @ApiModelProperty("对内备注")
    private String innerRemark;

    @ApiModelProperty("对外备注")
    private String outerRemark;

    private Integer version;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }
    public Long getOutSchoolId() {
        return outSchoolId;
    }

    public void setOutSchoolId(Long outSchoolId) {
        this.outSchoolId = outSchoolId;
    }
    public Long getOutGradeId() {
        return outGradeId;
    }

    public void setOutGradeId(Long outGradeId) {
        this.outGradeId = outGradeId;
    }
    public Long getInSchoolId() {
        return inSchoolId;
    }

    public void setInSchoolId(Long inSchoolId) {
        this.inSchoolId = inSchoolId;
    }
    public Long getInGradeId() {
        return inGradeId;
    }

    public void setInGradeId(Long inGradeId) {
        this.inGradeId = inGradeId;
    }
    public Integer getOutHouse() {
        return outHouse;
    }

    public void setOutHouse(Integer outHouse) {
        this.outHouse = outHouse;
    }
    public BigDecimal getOutPrice() {
        return outPrice;
    }

    public void setOutPrice(BigDecimal outPrice) {
        this.outPrice = outPrice;
    }
    public Integer getOutType() {
        return outType;
    }

    public void setOutType(Integer outType) {
        this.outType = outType;
    }
    public BigDecimal getServiceChargePrice() {
        return serviceChargePrice;
    }

    public void setServiceChargePrice(BigDecimal serviceChargePrice) {
        this.serviceChargePrice = serviceChargePrice;
    }
    public Long getCreatedId() {
        return createdId;
    }

    public void setCreatedId(Long createdId) {
        this.createdId = createdId;
    }
    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }
    public LocalDateTime getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(LocalDateTime deletedAt) {
        this.deletedAt = deletedAt;
    }
    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }
    public Integer getBusinessType() {
        return businessType;
    }

    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }
    public String getInnerRemark() {
        return innerRemark;
    }

    public void setInnerRemark(String innerRemark) {
        this.innerRemark = innerRemark;
    }
    public String getOuterRemark() {
        return outerRemark;
    }

    public void setOuterRemark(String outerRemark) {
        this.outerRemark = outerRemark;
    }
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    public String toString() {
        return "OrderTransfer{" +
            "id=" + id +
            ", orderId=" + orderId +
            ", outSchoolId=" + outSchoolId +
            ", outGradeId=" + outGradeId +
            ", inSchoolId=" + inSchoolId +
            ", inGradeId=" + inGradeId +
            ", outHouse=" + outHouse +
            ", outPrice=" + outPrice +
            ", outType=" + outType +
            ", serviceChargePrice=" + serviceChargePrice +
            ", createdId=" + createdId +
            ", deleted=" + deleted +
            ", createdAt=" + createdAt +
            ", updatedAt=" + updatedAt +
            ", deletedAt=" + deletedAt +
            ", orderType=" + orderType +
            ", businessType=" + businessType +
            ", innerRemark=" + innerRemark +
            ", outerRemark=" + outerRemark +
            ", version=" + version +
        "}";
    }
}
